2.1 測試環境
2.2 測試設備
2.3 測試程式
3.1 客觀數據
3.2 測試總表
3.3 主觀心得
GPS 全名是 Global Positioning System 衛星定位系統,顧名思義只有提供「定位」的功能。
目前一般人提到 GPS 時大都已經是指延伸的應用而不僅僅是單純的定位,我將這類延伸的應用分成三個部份來說明,分別是「定位」「圖資」以及「導航」。
GPS 是美國的系統(俄羅斯、中國、歐洲都有各自的衞星定位系統),最早是在地球軌道平均地放了 24 顆人造衛星(之後更多),不斷地向地球表面發射無線電波,然後地表上的 GPS 機器接收訊號,再根據訊號裡的時間和一堆數學公式,去計算出經緯度。接收到越多顆衛星訊號得到的經緯度越準確。理論上地球的每一個角落,最多可以接收到 12 顆衛星的訊號,但實際上受到天氣和地形(建築物遮蔽)的影響,幾乎沒有機會收到12顆衛星的訊號。
我個人經驗最多只收到7顆衛星訊號。幸好只要可以接收到3顆衛星的訊號,就可以定位經緯度,如果接收到4顆衛星訊號的話,就可以得到更精確的高度(Altitude)數據。
定位技術近年來不斷地發展,現今 Here 提供的定位技術已經從單一的「GPS 訊號定位」,增加了「WiFi 基地台定位」與「2G/3G/4G 基地台定位」來輔助,這在後面會進行一些測試及評估。
就是地圖資訊,將紙本的地圖電子化,並且與經緯度做對應與連結。圖資的正確性和詳細程度都需要長時間和大量資源的投入去維護及更新。
一般情形下,「定位」和「圖資」兩者缺一不可,才有導航的可能性。導航的基本概念很簡單,在地圖上選定起點和終點,然後用程式去計算出過程路徑,並且在行進過程中隨時指引方向(直行、左轉、右轉、迴轉)。
接著是複雜的部份,從起點到終點,通常不只一條路線可以走,那麼要如何選擇路線呢?簡單的原則像「高/快速道路優先(或不使用)」「距離最短」,現今還有「時間最短」的選擇,不過這就不是單純的圖資就辦得到,還得搭配「即時路況」(塞車、事故、施工...)才辦得到,這又是另一件事了。
在「定位」「圖資」「導航」三個領域之中,最關鍵且不可或缺的,就是「定位」,因此我選擇「定位」做為此次測試的的主題。簡單來說,此篇文章的內容就是「用不同的手機,不同的定位方式,在不同環境進行定位的實際測試報告」。
另外,由於所有科技技術都有自己的一套「理論」,在 Internet 或官網都查得到,我這裡就不再重覆官方文件,而把重點放在「實際測試」。
由於衞星發射出來的定位訊號是「直線」,所以影響定位結果最重要的關鍵就是「接收GPS訊號的過程中不要被阻隔」,原則上「高度」越高越不會被人為建築物阻擋,在「郊區」也比在「市區」可以接收到較佳訊號。
傳統的定位方式單純依賴衞星訊號做定位,原則上要在「室外」才能定位(能夠上天入地都能定位追蹤的,我只看過 IMF 和 007),只要進入「室內」(隧道、捷運)就掛掉。現今的定位方式會使用輔助訊號(WiFi, GSM/WCDMA/LTE),即使在室內也可以進行定位。
綜合以上,這次總共測試了六種環境,列表如下:
測試環境 | 天空遮蔽度 | 位置高度 | 移動速度 | WiFi基地台 | 手機基地台 | 備註 |
---|---|---|---|---|---|---|
高速公路 | 較少 | 中 | 快 | 中 | 中 | 國一南下苗栗至台中路段 |
海邊 | 較少 | 低 | 靜止 | 少 | 少 | 台中港區 |
市區道路 | 普通 | 低 | 中 | 多 | 多 | 新竹市 |
隧道 | 完全遮蔽 | 低 | 慢 | 中 | 中 | 台北內湖隧道 |
山上 | 較少 | 高 | 靜止 | 少 | 少 | 台北陽明山 |
捷運 | 完全遮蔽 | 低中 | 中 | 中 | 中 | 北捷紅線劍潭至中山 |
測試設備|作業系統|測試程式|GPS定位(原生 SDK)|GPS定位(Here SDK)|GSM/WCDMA/LTE基地台定位(Here SDK)|WiFi AP定位(Here SDK)|備註|
------------- |------------- |------------- |------------- |------------- |------------- |------------- |
|Android 手機|Android 9|自行開發 Native App|V|V|V|V|原生SDK 以下簡稱為 Native,以與 Here SDK 區隔|
|iOS 手機|iOS 13.1|自行開發 Native App|V|V|N/A|N/A|Apple不讓取得基地台資訊,省略相關測試|
|Asus 車機|N/A|N/A|N/A|N/A|N/A|N/A|功能正常,但只開起來照照相|
|Garmin GPS II Plus|N/A|N/A|N/A|N/A|N/A|N/A|拿出塵封已久的老機子,可惜因為時間已經過了太久,機子開不起來|
為了這次測試,針對 Android / iOS 各寫了一個 App,Android 使用 Java 開發;iOS 使用 Objective C++ 開發。
寫過 GPS app 的人都知道,第一個要面對的問題是「選擇」,「誤差值多少以下的資料才要採用?」「時戳多久以內的資料才要採用?」種種問題。而我這次寫的 app,我設計的原則是「raw data」,使用系統/Here 提供的 SDK,程式碼越少越好(有預設值的設定值都使用預設值),蒐集到的經緯度資料不做任何「過濾」,以利使用者自己分析統計。
不同於時鐘「要程式去詢問目前時間」,GPS是「主動通知」目前經緯度,頻率由GPS自行決定,此次程式不做任何限制,有多少筆就收多少筆。
為了測試單純起見,各項測試組合都獨立測試,亦即沒有「多個程式同時共用 GPS」的情形,以避免互相干擾。
GSM/WCDMA/LTE 定位的部份,我在開發程式時有測 WCDMA,Here API 是可用的,而以下測試結果則是用 LTE 基地台進行定位。
項目 | 內容 | 備註 |
---|---|---|
測試組合 | Android / Native / 高速公路 | 時速約為100KM/H |
時段 A | 2020/09/03 13:39:18-2020/09/03 13:49:12 | 南下 |
時段 B | 2020/09/05 11:55:35-2020/09/05 11:59:39 | 北上 |
資料筆數 | 36 筆 | 經度、緯度、誤差值、GPS時戳、記錄時戳 |
最小誤差 | 98.4000015 | 單位:公尺(M) |
最大誤差 | 2099.99902 | 單位:公尺(M) |
平均誤差 | 1458.73570284722 | 單位:公尺(M) |
誤差中位數 | 1700 | 單位:公尺(M) |
部份資料
24.633726 120.868376 1799.99902 20200903133918 20200903133921
24.6340511 120.8669406 400 20200903133938 20200903133940
24.628887 120.8676583 1600 20200903133958 20200903134000
項目 | 內容 | 備註 |
---|---|---|
測試組合 | Android / Here GPS / 高速公路 | 時速約為100KM/H |
時段 A | 2020/09/03 13:49:36-2020/09/03 13:54:49 | 南下 |
時段 B | 2020/09/05 12:02:17-2020/09/05 12:03:59 | 北上 |
資料筆數 | 412 筆 | 經度、緯度、誤差值、GPS時戳、記錄時戳 |
最小誤差 | 3.21600008 | 單位:公尺(M) |
最大誤差 | 2099.99902 | 單位:公尺(M) |
平均誤差 | 17.006092759466 | 單位:公尺(M) |
誤差中位數 | 9.64800071 | 單位:公尺(M) |
部份資料
24.5059088 120.8012086 3.21600008 20200903134951 20200903134952
24.5058286 120.800984 3.21600008 20200903134952 20200903134953
24.5057338 120.8007309 4.2880001 20200903134953 20200903134954
項目 | 內容 | 備註 |
---|---|---|
補充說明 | 此項測試數據有明顯錯誤(資料不變,定位誤差太大),請忽略此項數據 | 保留記錄僅供參考 |
測試組合 | Android / Here WiFi 定位 / 高速公路 | 時速約為100KM/H |
時段 | 2020/09/05 12:10:07-2020/09/05 12:14:37 | 北上 |
資料筆數 | 10 筆 | 經度、緯度、誤差值、GPS時戳、記錄時戳 |
最小誤差 | 104 | 單位:公尺(M) |
最大誤差 | 104 | 單位:公尺(M) |
平均誤差 | 104 | 單位:公尺(M) |
誤差中位數 | 104 | 單位:公尺(M) |
部份資料
25.0507668 121.5070072 104 20200905121206 20200905121207
25.0507668 121.5070072 104 20200905121236 20200905121237
25.0507668 121.5070072 104 20200905121306 20200905121307
項目 | 內容 | 備註 |
---|---|---|
測試組合 | Android / Here LTE 定位 / 高速公路 | 時速約為100KM/H |
時段 A | 2020/09/03 13:55:41-2020/09/03 14:05:40 | 南下 |
時段 B | 2020/09/05 12:04:07-2020/09/05 12:09:36 | 北上 |
資料筆數 | 33 筆 | 經度、緯度、誤差值、GPS時戳、記錄時戳 |
最小誤差 | 764 | 單位:公尺(M) |
最大誤差 | 2026 | 單位:公尺(M) |
平均誤差 | 1148.36363636364 | 單位:公尺(M) |
誤差中位數 | 1006 | 單位:公尺(M) |
部份資料
24.399991 120.7667613 977 20200903135809 20200903135810
24.3962467 120.760603 764 20200903135840 20200903135840
24.391247 120.7580066 861 20200903135910 20200903135911
項目 | 內容 | 備註 |
---|---|---|
測試組合 | iOS / Native / 高速公路 | 時速約為100KM/H |
時段 A | 2020/09/03 14:09:35-2020/09/03 14:11:13 | 南下 |
時段 B | 2020/09/05 12:15:28-2020/09/05 12:16:20 | 北上 |
資料筆數 | 154 筆 | 經度、緯度、誤差值、GPS時戳、記錄時戳 |
最小誤差 | 8.00121 | 單位:公尺(M) |
最大誤差 | 12.00181 | 單位:公尺(M) |
平均誤差 | 9.2221723376623 | 單位:公尺(M) |
誤差中位數 | 8.00121 | 單位:公尺(M) |
部份資料
24.49593 120.78402 8.00121 20200905121612 20200905121612
24.49614 120.78415 8.00121 20200905121613 20200905121613
24.49635 120.78429 8.00121 20200905121614 20200905121614
項目 | 內容 | 備註 |
---|---|---|
測試組合 | iOS / Here GPS / 高速公路 | 時速約為100KM/H |
時段 A | 2020/09/03 14:12:51-2020/09/03 14:14:18 | 南下 |
時段 B | 2020/09/05 12:17:32-2020/09/05 12:18:43 | 北上 |
資料筆數 | 150 筆 | 經度、緯度、誤差值、GPS時戳、記錄時戳 |
最小誤差 | 8.00121 | 單位:公尺(M) |
最大誤差 | 12.00181 | 單位:公尺(M) |
平均誤差 | 8.58796466666665 | 單位:公尺(M) |
誤差中位數 | 8.00121 | 單位:公尺(M) |
部份資料
24.51703 120.81219 8.00121 20200905121837 20200905121838
24.51724 120.81233 8.00121 20200905121838 20200905121839
24.51745 120.81248 8.00121 20200905121839 20200905121840
項目 | 內容 | 備註 |
---|---|---|
測試組合 | Android / Native / 海邊 | 靜止定點 |
時段 | 2020/09/04 16:36:13-2020/09/04 16:52:46 | |
資料筆數 | 18 筆 | 經度、緯度、誤差值、GPS時戳、記錄時戳 |
最小誤差 | 92.9000015 | 單位:公尺(M) |
最大誤差 | 1500 | 單位:公尺(M) |
平均誤差 | 970.210730416667 | 單位:公尺(M) |
誤差中位數 | 1200 | 單位:公尺(M) |
部份資料
24.3113216 120.5503379 92.9000015 20200904164655 20200904164658
24.3113035 120.5503353 122.400001 20200904164715 20200904164717
24.3453034 120.5762958 1500 20200904164735 20200904164737
項目 | 內容 | 備註 |
---|---|---|
測試組合 | Android / Here GPS / 海邊 | 靜止定點 |
時段 | 2020/09/04 16:49:05-2020/09/04 16:53:15 | |
資料筆數 | 65 筆 | 經度、緯度、誤差值、GPS時戳、記錄時戳 |
最小誤差 | 3.21600008 | 單位:公尺(M) |
最大誤差 | 1200 | 單位:公尺(M) |
平均誤差 | 22.3372308778461 | 單位:公尺(M) |
誤差中位數 | 3.21600008 | 單位:公尺(M) |
部份資料
24.3132039 120.5277339 3.21600008 20200904164917 20200904164918
24.3132066 120.5277335 3.21600008 20200904164918 20200904164919
24.3132072 120.5277342 3.21600008 20200904164919 20200904164920
項目 | 內容 | 備註 |
---|---|---|
補充說明 | 當地無任何 WiFi 基地台,無法使用 WiFi 基地台定位 | |
測試組合 | Android / Here WiFi 定位 / 海邊 | 靜止定點 |
時段 | 2020/09/04 16:50:00 | |
資料筆數 | N/A | 經度、緯度、誤差值、GPS時戳、記錄時戳 |
最小誤差 | N/A | 單位:公尺(M) |
最大誤差 | N/A | 單位:公尺(M) |
平均誤差 | N/A | 單位:公尺(M) |
誤差中位數 | N/A | 單位:公尺(M) |
部份資料
N/A
項目 | 內容 | 備註 |
---|---|---|
測試組合 | Android / Here LTE 定位 / 海邊 | 靜止定點 |
時段 | 2020/09/04 16:50:27-2020/09/04 16:50:57 | |
資料筆數 | 2 筆 | 經度、緯度、誤差值、GPS時戳、記錄時戳 |
最小誤差 | 1137 | 單位:公尺(M) |
最大誤差 | 1137 | 單位:公尺(M) |
平均誤差 | 1137 | 單位:公尺(M) |
誤差中位數 | 1137 | 單位:公尺(M) |
部份資料
24.3043649 120.5541587 1137 20200904165027 20200904165028
24.3043649 120.5541587 1137 20200904165057 20200904165058
項目 | 內容 | 備註 |
---|---|---|
測試組合 | iOS / Native / 海邊 | 靜止定點 |
時段 | 2020/09/04 16:31:45-2020/09/04 16:38:51 | |
資料筆數 | 38 筆 | 經度、緯度、誤差值、GPS時戳、記錄時戳 |
最小誤差 | 4.0006 | 單位:公尺(M) |
最大誤差 | 1019.17905 | 單位:公尺(M) |
平均誤差 | 65.5626071052631 | 單位:公尺(M) |
誤差中位數 | 4.0006 | 單位:公尺(M) |
部份資料
24.31272 120.52797 4.0006 20200904163834 20200904163835
24.31273 120.52797 4.0006 20200904163835 20200904163836
24.31274 120.52796 4.0006 20200904163836 20200904163837
項目 | 內容 | 備註 |
---|---|---|
測試組合 | iOS / Here GPS / 海邊 | 靜止定點 |
時段 | 2020/09/04 16:38:58-2020/09/04 16:39:25 | |
資料筆數 | 28 筆 | 經度、緯度、誤差值、GPS時戳、記錄時戳 |
最小誤差 | 4.0006 | 單位:公尺(M) |
最大誤差 | 6.00091 | 單位:公尺(M) |
平均誤差 | 4.28635857142857 | 單位:公尺(M) |
誤差中位數 | 4.0006 | 單位:公尺(M) |
部份資料
24.31235 120.52824 4.0006 20200904163913 20200904163913
24.31236 120.52825 4.0006 20200904163914 20200904163914
24.31236 120.52826 4.0006 20200904163915 20200904163915
項目 | 內容 | 備註 |
---|---|---|
測試組合 | Android / Native / 市區道路 | 時速約 0-40 KM/H |
時段 | 2020/09/05 14:22:39-2020/09/05 14:29:00 | |
資料筆數 | 20 筆 | 經度、緯度、誤差值、GPS時戳、記錄時戳 |
最小誤差 | 12.2639999 | 單位:公尺(M) |
最大誤差 | 68.4000015 | 單位:公尺(M) |
平均誤差 | 19.313099995 | 單位:公尺(M) |
誤差中位數 | 16.47200005 | 單位:公尺(M) |
部份資料
24.8110835 120.9791791 15.269 20200905142519 20200905142521
24.8110769 120.9791798 14.828 20200905142539 20200905142541
24.8110399 120.9791544 18.0279998 20200905142559 20200905142601
項目 | 內容 | 備註 |
---|---|---|
測試組合 | Android / Here GPS / 市區道路 | 時速約 0-40 KM/H |
時段 | 2020/09/05 14:29:13-2020/09/05 14:31:16 | |
資料筆數 | 124 筆 | 經度、緯度、誤差值、GPS時戳、記錄時戳 |
最小誤差 | 3.21600008 | 單位:公尺(M) |
最大誤差 | 10.7200002 | 單位:公尺(M) |
平均誤差 | 7.00258095653226 | 單位:公尺(M) |
誤差中位數 | 9.64800071 | 單位:公尺(M) |
部份資料
24.8102557 120.9778398 3.21600008 20200905142933 20200905142934
24.8102558 120.9778404 3.21600008 20200905142934 20200905142935
24.8102565 120.9778417 3.21600008 20200905142935 20200905142936
項目 | 內容 | 備註 |
---|---|---|
補充說明 | 定位的位置正確,但車輛移動了六分鐘,經緯度理論上不該完全相同 | 資料僅供參考 |
測試組合 | Android / Here WiFi 定位 / 市區道路 | 時速約 0-40 KM/H |
時段 | 2020/09/05 14:38:32-2020/09/05 14:44:03 | |
資料筆數 | 12 | 經度、緯度、誤差值、GPS時戳、記錄時戳 |
最小誤差 | 86 | 單位:公尺(M) |
最大誤差 | 86 | 單位:公尺(M) |
平均誤差 | 86 | 單位:公尺(M) |
誤差中位數 | 86 | 單位:公尺(M) |
部份資料
24.8111554 120.9799269 86 20200905144133 20200905144134
24.8111554 120.9799269 86 20200905144202 20200905144203
24.8111554 120.9799269 86 20200905144232 20200905144233
項目 | 內容 | 備註 |
---|---|---|
測試組合 | Android / Here LTE 定位 / 市區道路 | 時速約 0-40 KM/H |
時段 | 2020/09/05 14:31:24-2020/09/05 14:38:23 | |
資料筆數 | 15 筆 | 經度、緯度、誤差值、GPS時戳、記錄時戳 |
最小誤差 | 322 | 單位:公尺(M) |
最大誤差 | 427 | 單位:公尺(M) |
平均誤差 | 380.466666666667 | 單位:公尺(M) |
誤差中位數 | 386 | 單位:公尺(M) |
部份資料
24.808116 120.978055 322 20200905143154 20200905143155
24.8074937 120.9751582 386 20200905143225 20200905143225
24.8049939 120.9757805 427 20200905143254 20200905143255
項目 | 內容 | 備註 |
---|---|---|
測試組合 | iOS / Native / 市區道路 | 時速約 0-40 KM/H |
時段 | 2020/09/05 13:55:18-2020/09/05 13:56:45 | |
資料筆數 | 79 筆 | 經度、緯度、誤差值、GPS時戳、記錄時戳 |
最小誤差 | 6.00091 | 單位:公尺(M) |
最大誤差 | 94.90531 | 單位:公尺(M) |
平均誤差 | 12.8736737974684 | 單位:公尺(M) |
誤差中位數 | 8.00121 | 單位:公尺(M) |
部份資料
24.80134 120.97564 8.00121 20200905135543 20200905135543
24.80132 120.97562 8.00121 20200905135544 20200905135544
24.8013 120.9756 8.00121 20200905135545 20200905135545
項目 | 內容 | 備註 |
---|---|---|
補充說明 | 只有前三筆誤差值異常高,之後越來越小 | Raw Data 原則,保留做為參考 |
測試組合 | iOS / Here GPS / 市區道路 | 時速約 0-40 KM/H |
時段 | 2020/09/05 13:57:03-2020/09/05 13:59:33 | |
資料筆數 | 151 筆 | 經度、緯度、誤差值、GPS時戳、記錄時戳 |
最小誤差 | 6.00091 | 單位:公尺(M) |
最大誤差 | 1073741824 | 單位:公尺(M) |
平均誤差 | 21332629.727776 | 單位:公尺(M) |
誤差中位數 | 8.00121 | 單位:公尺(M) |
部份資料
24.79909 120.97208 1073741824 20200905135703 20200905135703
24.79907 120.97205 1073741824 20200905135703 20200905135703
24.79907 120.97205 1073741824 20200905135704 20200905135704
24.79867 120.97137 64 20200905135706 20200905135707
24.79868 120.97143 48 20200905135707 20200905135707
24.79868 120.97143 32 20200905135708 20200905135708
項目 | 內容 | 備註 |
---|---|---|
補充說明 | 多虧台北市的區間測速,我才能以較慢速度通過隧道獲得較長測試時間 | 時速約 40 KM/H |
測試組合 | Android / Native / 隧道 | 時速約 40 KM/H |
時段 | 2020/09/12 14:54:40-2020/09/12 15:12:46 | |
資料筆數 | 13 筆 | 經度、緯度、誤差值、GPS時戳、記錄時戳 |
最小誤差 | 17.8209991 | 單位:公尺(M) |
最大誤差 | 800 | 單位:公尺(M) |
平均誤差 | 280.431461753846 | 單位:公尺(M) |
誤差中位數 | 98.4000015 | 單位:公尺(M) |
部份資料
25.0840432 121.549702 21.7789993 20200912145607 20200912145609
25.084084 121.5495477 22.0990009 20200912145627 20200912145629
25.0857625 121.550737 600 20200912145741 20200912145744
25.0876723 121.5496667 300 20200912145801 20200912145803
項目 | 內容 | 備註 |
---|---|---|
測試組合 | Android / Here GPS / 隧道 | 時速約 40 KM/H |
時段 | 2020/09/12 15:01:47-2020/09/12 15:07:44 | |
資料筆數 | 46 筆 | 經度、緯度、誤差值、GPS時戳、記錄時戳 |
最小誤差 | 4.2880001 | 單位:公尺(M) |
最大誤差 | 800 | 單位:公尺(M) |
平均誤差 | 27.1727393852174 | 單位:公尺(M) |
誤差中位數 | 8.57600021 | 單位:公尺(M) |
部份資料
25.0978791 121.5466977 5.36000013 20200912150152 20200912150153
25.0973844 121.5450284 800 20200912150535 20200912150536
25.0951143 121.5482315 17.1520004 20200912150542 20200912150543
項目 | 內容 | 備註 |
---|---|---|
補充說明 | 因為人為疏失,這項目無測試資料 | |
測試組合 | Android / Here WiFi 定位 / 隧道 | 時速約 40 KM/H |
時段 | 2020/09/12 14:50 | |
資料筆數 | N/A | 經度、緯度、誤差值、GPS時戳、記錄時戳 |
最小誤差 | N/A | 單位:公尺(M) |
最大誤差 | N/A | 單位:公尺(M) |
平均誤差 | N/A | 單位:公尺(M) |
誤差中位數 | N/A | 單位:公尺(M) |
部份資料
無
項目 | 內容 | 備註 |
---|---|---|
補充說明 | 測試程度約每30秒取得一次經緯度 | 所以在隧道裡差不多開了一分鐘 |
測試組合 | Android / Here LTE 定位 / 隧道 | 時速約 40 KM/H |
時段 | 2020/09/12 15:08:35-2020/09/12 15:09:34 | |
資料筆數 | 3 筆 | 經度、緯度、誤差值、GPS時戳、記錄時戳 |
最小誤差 | 329 | 單位:公尺(M) |
最大誤差 | 623 | 單位:公尺(M) |
平均誤差 | 446 | 單位:公尺(M) |
誤差中位數 | 386 | 單位:公尺(M) |
部份資料
25.084995 121.5505028 329 20200912150835 20200912150836
25.0906169 121.5489149 623 20200912150906 20200912150907
25.0999939 121.5500736 386 20200912150934 20200912150935
項目 | 內容 | 備註 |
---|---|---|
測試組合 | iOS / Native / 隧道 | 時速約 40 KM/H |
時段 | 2020/09/12 14:54:27-2020/09/12 14:59:18 | |
資料筆數 | 48 筆 | 經度、緯度、誤差值、GPS時戳、記錄時戳 |
最小誤差 | 24 | 單位:公尺(M) |
最大誤差 | 1166.43841 | 單位:公尺(M) |
平均誤差 | 527.492270208333 | 單位:公尺(M) |
誤差中位數 | 197.901865 | 單位:公尺(M) |
部份資料
25.08419 121.54964 32.33773 20200912145631 20200912145747
25.08483 121.55 165 20200912145738 20200912145747
25.08517 121.55011 443.77457 20200912145747 20200912145747
項目 | 內容 | 備註 |
---|---|---|
補充說明 | 99筆之中的57筆都是1073741824誤差值,57筆的經緯度都在隧道內 | Raw Data 原則,保留做為參考 |
測試組合 | iOS / Here GPS / 隧道 | 時速約 40 KM/H |
時段 | 2020/09/12 15:00:25-2020/09/12 15:07:33 | |
資料筆數 | 99 筆 | 經度、緯度、誤差值、GPS時戳、記錄時戳 |
最小誤差 | 12.00181 | 單位:公尺(M) |
最大誤差 | 1073741824 | 單位:公尺(M) |
平均誤差 | 618215017.635488 | 單位:公尺(M) |
誤差中位數 | 1073741824 | 單位:公尺(M) |
部份資料
25.09028 121.54878 1073741824 20200912150622 20200912150622
25.09015 121.54879 1073741824 20200912150623 20200912150623
25.09003 121.54879 1073741824 20200912150624 20200912150624
項目 | 內容 | 備註 |
---|---|---|
補充說明 | 當時天氣打雷下雨,不是晴空萬里 | |
測試組合 | Android / Native / 山上 | 靜止定點 |
時段 | 2020/09/12 16:00:38-2020/09/12 16:12:00 | |
資料筆數 | 17 筆 | 經度、緯度、誤差值、GPS時戳、記錄時戳 |
最小誤差 | 28.1000003 | 單位:公尺(M) |
最大誤差 | 94.7419967 | 單位:公尺(M) |
平均誤差 | 49.8472939352941 | 單位:公尺(M) |
誤差中位數 | 44.0929985 | 單位:公尺(M) |
部份資料
25.1670963 121.574219 28.1000003 20200912160838 20200912160839
25.16717 121.5741438 45.6419982 20200912160900 20200912160902
25.1671755 121.5741244 31.5 20200912160920 20200912160922
項目 | 內容 | 備註 |
---|---|---|
測試組合 | Android / Here GPS / 山上 | 靜止定點 |
時段 | 2020/09/12 16:12:24-2020/09/12 16:14:18 | |
資料筆數 | 113 筆 | 經度、緯度、誤差值、GPS時戳、記錄時戳 |
最小誤差 | 3.21600008 | 單位:公尺(M) |
最大誤差 | 33.716999 | 單位:公尺(M) |
平均誤差 | 6.57859328327434 | 單位:公尺(M) |
誤差中位數 | 4.2880001 | 單位:公尺(M) |
部份資料
25.1668268 121.5740948 9.64800071 20200912161349 20200912161350
25.1668268 121.5740949 9.64800071 20200912161350 20200912161351
25.1668268 121.574095 9.64800071 20200912161351 20200912161352
項目 | 內容 | 備註 |
---|---|---|
補充說明 | 因為人為疏失,這項目無測試資料 | |
測試組合 | Android / Here WiFi 定位 / 山上 | 靜止定點 |
時段 | 2020/09/12 16:12 | |
資料筆數 | N/A | 經度、緯度、誤差值、GPS時戳、記錄時戳 |
最小誤差 | N/A | 單位:公尺(M) |
最大誤差 | N/A | 單位:公尺(M) |
平均誤差 | N/A | 單位:公尺(M) |
誤差中位數 | N/A | 單位:公尺(M) |
部份資料
無
項目 | 內容 | 備註 |
---|---|---|
測試組合 | Android / Here LTE 定位 / 山上 | 靜止定點 |
時段 | 2020/09/12 16:14:27-2020/09/12 16:23:06 | |
資料筆數 | 19 筆 | 經度、緯度、誤差值、GPS時戳、記錄時戳 |
最小誤差 | 338 | 單位:公尺(M) |
最大誤差 | 378 | 單位:公尺(M) |
平均誤差 | 359.052631578947 | 單位:公尺(M) |
誤差中位數 | 378 | 單位:公尺(M) |
部份資料
25.164367 121.5733981 378 20200912161625 20200912161626
25.164367 121.5749002 338 20200912161655 20200912161656
25.164367 121.5733981 378 20200912161725 20200912161726
項目 | 內容 | 備註 |
---|---|---|
測試組合 | iOS / Native / 山上 | 靜止定點 |
時段 | 2020/09/12 16:00:52-2020/09/12 16:01:55 | |
資料筆數 | 46 筆 | 經度、緯度、誤差值、GPS時戳、記錄時戳 |
最小誤差 | 8.00121 | 單位:公尺(M) |
最大誤差 | 319.18854 | 單位:公尺(M) |
平均誤差 | 34.5837793478261 | 單位:公尺(M) |
誤差中位數 | 12.00181 | 單位:公尺(M) |
部份資料
25.16676 121.57405 24.00362 20200912160119 20200912160120
25.16675 121.57406 16.00242 20200912160120 20200912160121
25.16676 121.57408 16.00242 20200912160121 20200912160122
25.16676 121.57407 12.00181 20200912160122 20200912160123
項目 | 內容 | 備註 |
---|---|---|
測試組合 | iOS / Here GPS / 山上 | 靜止定點 |
時段 | 2020/09/12 16:01:59-2020/09/12 16:02:53 | |
資料筆數 | 54 筆 | 經度、緯度、誤差值、GPS時戳、記錄時戳 |
最小誤差 | 8.00121 | 單位:公尺(M) |
最大誤差 | 12.00181 | 單位:公尺(M) |
平均誤差 | 8.89023222222223 | 單位:公尺(M) |
誤差中位數 | 8.00121 | 單位:公尺(M) |
部份資料
25.16682 121.57418 8.00121 20200912160219 20200912160219
25.16682 121.57418 8.00121 20200912160220 20200912160220
25.16682 121.57418 12.00181 20200912160221 20200912160221
25.16682 121.57418 12.00181 20200912160222 20200912160222
項目 | 內容 | 備註 |
---|---|---|
補充說明 | 我比較貪心,特別找了個從地下到高架都有的路段 | 北捷紅線中山到劍潭 |
測試組合 | Android / Native / 捷運 | 最高時速約 80 KM/H |
時段 | 2020/09/12 20:46:58-2020/09/12 20:56:22 | |
資料筆數 | 29 筆 | 經度、緯度、誤差值、GPS時戳、記錄時戳 |
最小誤差 | 19.7980003 | 單位:公尺(M) |
最大誤差 | 1899.99902 | 單位:公尺(M) |
平均誤差 | 529.783002158621 | 單位:公尺(M) |
誤差中位數 | 600 | 單位:公尺(M) |
部份資料
25.069122 121.52005 800 20200912205220 20200912205222
25.067374 121.5193501 19.7980003 20200912205240 20200912205242
25.0699291 121.5198056 20.8999996 20200912205300 20200912205302
25.0722652 121.5221913 600 20200912205320 20200912205322
項目 | 內容 | 備註 |
---|---|---|
補充說明 | 從劍潭到中山,民權西路進入地下後約每20秒更新一次 | |
測試組合 | Android / Here GPS / 捷運 | 最高時速約 80 KM/H |
時段 | 2020/09/12 21:01:08-2020/09/12 21:14:04 | |
資料筆數 | 308 筆 | 經度、緯度、誤差值、GPS時戳、記錄時戳 |
最小誤差 | 8.57600021 | 單位:公尺(M) |
最大誤差 | 1399.99902 | 單位:公尺(M) |
平均誤差 | 44.2728025907468 | 單位:公尺(M) |
誤差中位數 | 26.8000011 | 單位:公尺(M) |
部份資料
25.0691914 121.519752 32.1599998 20200912210541 20200912210542
25.0691111 121.5196726 24.6560001 20200912210542 20200912210543
25.0689426 121.5197378 17.1520004 20200912210543 20200912210544
項目 | 內容 | 備註 |
---|---|---|
補充說明 | 定位的位置是在劍潭站,但車輛移動了11分鐘,經緯度理論上不該完全相同 | 資料僅供參考 |
測試組合 | Android / Here WiFi 定位 / 捷運 | 最高時速約 80 KM/H |
時段 | 2020/09/12 21:37:38-2020/09/12 21:48:43 | |
資料筆數 | 23 | 經度、緯度、誤差值、GPS時戳、記錄時戳 |
最小誤差 | 91 | 單位:公尺(M) |
最大誤差 | 91 | 單位:公尺(M) |
平均誤差 | 91 | 單位:公尺(M) |
誤差中位數 | 91 | 單位:公尺(M) |
部份資料
25.084397 121.5246564 91 20200912214238 20200912214239
25.084397 121.5246564 91 20200912214308 20200912214309
25.084397 121.5246564 91 20200912214338 20200912214339
項目 | 內容 | 備註 |
---|---|---|
補充說明 | 定位精確度在地下約為千公尺,在地面約為500公尺 | |
測試組合 | Android / Here LTE 定位 / 捷運 | 最高時速約 80 KM/H |
時段 | 2020/09/12 21:19:40-2020/09/12 21:29:38 | |
資料筆數 | 17 筆 | 經度、緯度、誤差值、GPS時戳、記錄時戳 |
最小誤差 | 326 | 單位:公尺(M) |
最大誤差 | 4454 | 單位:公尺(M) |
平均誤差 | 996.352941176471 | 單位:公尺(M) |
誤差中位數 | 519 | 單位:公尺(M) |
部份資料
25.0706184 121.5208054 358 20200912212438 20200912212439
25.0718737 121.5220499 438 20200912212509 20200912212510
25.0724959 121.520977 519 20200912212538 20200912212539
項目 | 內容 | 備註 |
---|---|---|
補充說明 | 可以用一句話說明這項結果:只要到地下就掛(無經緯度資料) | |
測試組合 | iOS / Native / 捷運 | 最高時速約 80 KM/H |
時段 A | 2020/09/12 20:38:23-2020/09/12 20:48:32 | |
時段 B | 2020/09/12 21:37:10-2020/09/12 21:39:23 | |
資料筆數 | 70 筆 | 經度、緯度、誤差值、GPS時戳、記錄時戳 |
最小誤差 | 16.00242 | 單位:公尺(M) |
最大誤差 | 1165.95498 | 單位:公尺(M) |
平均誤差 | 249.294949571429 | 單位:公尺(M) |
誤差中位數 | 64.004835 | 單位:公尺(M) |
部份資料
25.0525 121.52035 1133.59603 20200912204825 20200912204825
25.0525 121.52035 1165.95498 20200912204832 20200912204833
25.08499 121.52463 65 20200912213710 20200912213744
25.08499 121.52463 65 20200912213719 20200912213744
項目 | 內容 | 備註 |
---|---|---|
補充說明 | 進入地下後,無回傳經緯度資料 | |
測試組合 | iOS / Here GPS / 捷運 | 最高時速約 80 KM/H |
時段 | 2020/09/12 21:01:06-2020/09/12 21:06:10 | |
資料筆數 | 302 筆 | 經度、緯度、誤差值、GPS時戳、記錄時戳 |
最小誤差 | 8.00121 | 單位:公尺(M) |
最大誤差 | 1073741824 | 單位:公尺(M) |
平均誤差 | 74664201.1713778 | 單位:公尺(M) |
誤差中位數 | 32.00483 | 單位:公尺(M) |
部份資料
25.08292 121.52532 32.00483 20200912210305 20200912210306
25.08277 121.52529 32.00483 20200912210306 20200912210307
25.08256 121.52523 1073741824 20200912210308 20200912210308
25.08246 121.5252 1073741824 20200912210309 20200912210309
你會看到這裡,表示你想知道一個答案,「HERE 跟 XXXXXX 那一個比較好?」
短的答案是:HERE 比較好
如果你急著忙別的事,現在就可以離開,或者繼續往下看一些細節。
在這次 36(=6x6) 種測試組合中,結果歸納起來只有兩種:Here 比 XXXXXX 好,Here 跟 XXXXXX 一樣好,單純就資料準確度來說,Here 勝。
Here 的 API call 有免費的 quota (250K / 月)。
長一點的答案是:看使用情境
如果使用情境是「戶外」可以接收良好衞星訊號的話,使用什麼 SDK 定位其實沒什麼差,因為衞星訊號相同,程式計算演算法也差不多。
如果使用情境會有「室內」的話,或者是「不顧一切就是要取得經緯度」的話,那麼就適合採用 Here SDK 的「WiFi 定位」和「GSM/WCDMA/LTE 定位」來取得經緯度資料。
對「誤差值」的要求是多少?小於10公尺/小於500公尺/小於1公里/還是有資料就好?
程式的重點在於「即時」的「點定位」還是「記錄」的「歷史軌跡」?
「小孩才做選擇,我全都要」
沒錯,在經過此次測試之後,我在我目前已上架的 Android App 裡,加上了 Here SDK 的 WiFi 定位和 GSM/WCDMA/LTE 定位,由原先的「只使用 Native GPS」改成「由三種定位方式中選用最精確的資料」。
Android / Native GPS 的執行畫面
Android / Here GPS 的執行畫面
取得附近 WiFi 基地台,可以抓到多個(不須連接或登入)
取得附近 LTE 基地台,資料有多筆但只有第一筆是有效資料
由於 iOS 的限制,無法使用 GSM/WCDMA/LTE 基地台定位
iOS / Native / 隧道
iOS / Native / 山上
iOS / Native / 捷運
iOS / Here / 隧道
iOS / Here / 山上
iOS / Here / 捷運
車機畫面,抓到 7 顆衛星訊號
車機畫面,實際導航畫面
山上風景
山上風景
海邊風景
北捷紅線劍潭中山坐來坐去的怪叔叔
有兩個問題,
終於有人問專業問題了
如果走雪隧, 還能有GPS訊號嗎?
理論上,雪隧裡是收不到GPS 訊號
的,就像在北捷地下路段一樣
然而市面上的地圖/導航軟體(eg.Google Map)會各顯神通去定位
現在大陸有北斗GPS,和美國,蘇俄的GPS相比, 北斗會好用嗎?還有, 怎麼知道是用那個GPS系統定位呢?
為了不受制於人
有能力的人都會自己建立衛星系統(您漏了歐盟的伽利略系統)
大陸的北斗GPS
搭配的是有名的「高德地圖」(大陸不時興 Google,您知道的)
相對於登陸月球/火星
由「衛星發射無線電波給地面的接收端」
算是很簡單的工作
我相信北斗系統一定也沒問題的
最後,「怎麼知道是用那個GPS系統定位?」
GPS 的 client 端一定知道
有個不太貼切的比喻,就像收音機一樣
用短波收音機,收的就是短波
用調幅收音機,收的就是 AM
用調頻收音機,收的就是 FM
收音機在製造當下就已經決定/知道要用那個 GPS 系統
如果單純以軟體來說
以「開發公司」的國別就可以知道他用那個 GPS 系統
如果無法判斷
那就大概是美國 GPS 系統
真的是小孩才做選擇
iPhone 12 全都要
定位功能
內建全球定位系統 (GPS)、格洛納斯系統 (GLONASS)、伽利略定位系統 (Galileo) 、準天頂衛星系統 (QZSS) 與北斗衛星導航系統
數位指南針
Wi‑Fi
行動網路
iBeacon 微型定位服務